// packageA/pages/afterService/afterService.js
const app = getApp();
import CommonService from '../../../utils/service/commonService.js';
import Toast from '../../../miniprogram_npm/@vant/weapp/toast/toast';
import Dialog from '../../../miniprogram_npm/@vant/weapp/dialog/dialog';
const util = require('../../../utils/util');

Page({

  /**
   * 页面的初始数据
   */
  data: {
    //传参来的信息
    paramObj:null,
    //修改信息回显
    editInfo:{},
    //服务记录
    serviceDetails:[],
    //当前操作记录的id
    serviceId:null,
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    if(options.paramObj){
      let paramObj=JSON.parse(options.paramObj);
      console.log('服务记录传参');
      console.log(paramObj);

      this.setData({
        paramObj: paramObj
      })

      //获取服务记录
      this.getInfo();
    }
  },

  //获取服务记录
  getInfo(){
    let param = {
      isAuth: false,
      className: 'afterSaleServiceRecord',
      data: {
        id:this.data.paramObj.id,
        selectFields: ['id','serviceDetails']
      }
    }

    CommonService.goFindList(param).then(res=>{
      if(res.data.data && res.data.data.result && res.data.data.result.length){
        let result=res.data.data.result[0];
        this.setData({
          editInfo: result
        })

        if(result.serviceDetails && result.serviceDetails.length){
          let list=result.serviceDetails;
          let i=1;
          list.forEach(item => {
            item.id=i++;
          });

          console.log('服务记录');
          console.log(list);

          this.setData({
            serviceDetails: list
          })
        }
      }
    }).catch((error) => {
    })
  },

  //获取输入
  onGetInput(e){
    let val=e.detail.value;
    let id=e.currentTarget.dataset.id;
    let list=this.data.serviceDetails;

    list.forEach(item => {
		  if(item.id==id){
        item.content=val.trim();
		  }
		});

    this.setData({
      serviceDetails: list
    })
  },

  //增加一条
  onAdd(){
    let list=this.data.serviceDetails;
    let last=0;

    if(list.length){
      last=list[list.length-1].id;
    }

    list.push({
      id:last+1,
      datetime:util.timeFormat(new Date()),
      content:''
    });

    this.setData({
      serviceDetails: list
    })
  },

  //删除
  onDelete(e){
    let id=e.currentTarget.dataset.id;
    let list=this.data.serviceDetails;
    let arr=[];

    list.forEach(item => {
		  if(item.id!=id){
        arr.push(item);
		  }
    });

    this.setData({
      serviceDetails: arr
    })
  },

  //确定
  onConfirm(){
    Toast.loading({
      duration: 0,
      forbidClick: true,
      message: '请稍等，千万不要多次点击'
    });

    setTimeout(() => {
      let list=this.data.serviceDetails;

      if(list && list.length){
        //判断空项
        let flag=list.some(item=>{
          return !item.content;
        })

        if(flag){
          Toast.fail('请输入服务内容');
        }else{
          //保存服务记录
          this.saveService(list);
        }
      }else{
        Toast.clear();
        Dialog.confirm({
          title: '提示',
          message: '确定清空服务记录吗？',
        }).then(() => {
          //保存服务记录
          this.saveService(null);
        }).catch(() => {
        })
      }

    }, 1000);
  },

  //保存服务记录
  saveService(list){
    let serviceDetails=[];

    if(list && list.length){
      list.forEach(item => {
        serviceDetails.push({
          datetime: item.datetime,
          content: item.content
        });
      });
    }

    let param={
      className:'afterSaleServiceRecord',
      data:{
        id:this.data.paramObj.id,
        serviceDetails:serviceDetails
      }
    }

    CommonService.goSave(param).then(res=>{
      if (res.statusCode == 200 && res.data.success == true){
        Toast.success('保存成功');

        setTimeout(() => {
          this.backAndRefresh();
        }, 1000);
      }else{
        Toast.fail('操作失败');
      }
    }).catch((error) => {
      Toast.fail('操作失败');
    })
  },

  //返回列表页并刷新数据
  backAndRefresh(){
    let pages = getCurrentPages();
    let prevPage = pages[pages.length - 2];

    prevPage.refreshListAndPage();
    wx.navigateBack();
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})
